pub const max_texture_dimension1d: u32 = 8192;
pub const max_texture_dimension2d: u32 = 8192;
pub const max_texture_dimension3d: u32 = 2048;
pub const max_texture_array_layers: u32 = 256;
pub const max_bind_groups: u32 = 4;
pub const max_bind_groups_plus_vertex_buffers: u32 = 24;
pub const max_bindings_per_bind_group: u32 = 1000;
pub const max_dynamic_uniform_buffers_per_pipeline_layout: u32 = 8;
pub const max_dynamic_storage_buffers_per_pipeline_layout: u32 = 4;
pub const max_sampled_textures_per_shader_stage: u32 = 16;
pub const max_samplers_per_shader_stage: u32 = 16;
pub const max_storage_buffers_per_shader_stage: u32 = 8;
pub const max_storage_textures_per_shader_stage: u32 = 4;
pub const max_uniform_buffers_per_shader_stage: u32 = 12;
pub const max_uniform_buffer_binding_size: u64 = 65536;
pub const max_storage_buffer_binding_size: u64 = 134217728;
pub const min_uniform_buffer_offset_alignment: u32 = 256;
pub const min_storage_buffer_offset_alignment: u32 = 256;
pub const max_vertex_buffers: u32 = 8;
pub const max_buffer_size: u64 = 268435456;
pub const max_vertex_attributes: u32 = 16;
pub const max_vertex_buffer_array_stride: u32 = 2048;
pub const max_inter_stage_shader_components: u32 = 60;
pub const max_inter_stage_shader_variables: u32 = 16;
pub const max_color_attachments: u32 = 8;
pub const max_color_attachment_bytes_per_sample: u32 = 32;
pub const max_compute_workgroup_storage_size: u32 = 16384;
pub const max_compute_invocations_per_workgroup: u32 = 256;
pub const max_compute_workgroup_size_x: u32 = 256;
pub const max_compute_workgroup_size_y: u32 = 256;
pub const max_compute_workgroup_size_z: u32 = 64;
pub const max_compute_workgroups_per_dimension: u32 = 65535;

pub const max_buffers_per_shader_stage = max_storage_buffers_per_shader_stage + max_uniform_buffers_per_shader_stage;
